MIME-Version: 1.0
Server: CERN/3.0
Date: Sunday, 24-Nov-96 22:46:19 GMT
Content-Type: text/html
Content-Length: 14016
Last-Modified: Thursday, 19-Sep-96 02:19:06 GMT

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">

<html>

<head>
<title>CS314 Course Information</title>
<meta name="GENERATOR" content="Microsoft FrontPage 1.1">
</head>

<body>
<h1 align=center><b><img src="cs314_icon.gif" align=middle hspace=20 width=100 height=100></b><a name="HDT0"><b>CS314 Course Information</b></a></h1>
<p align=center><code>http://www.cs.cornell.edu/Info/Courses/Current/CS314 <br>
</code></p>
<hr>
<H1>The most up to date version of this document is in the <a
href="http://dave.cs.cornell.edu:8888/Home/CS314/">Course Materials</A>
found on CoNote</H1>
<h1>People</h1>
<h2>Instructor</h2>
<ul>
<li>Thorsten von Eicken, Upson 4124, 255-9188, <a href="mailto:tve@cs.cornell.edu">tve@cs.cornell.edu</a>, office hours: Tue 2:45pm-3:45pm</li>
</ul>
<h2>Teaching Assistants</h2>
<ul>
<li>Aaron Thomas Deever, Rhodes 657, 255-8272, <a href="mailto:atd4@cornell.edu">atd4@cornell.edu</a>, office hours: TBD</li>
<li>Zhen Xiao, Upson 4132, 255-1179, <a href="mailto:xiao@cs.cornell.edu">xiao@cs.cornell.edu</a>, office hours: TBD</li>
<li>Michael Korby, Upson ???, 255-????, <a href="mailto:mkorby@cs.cornell.edu">mkorby@cs.cornell.edu</a>, office hours: TBD</li>
</ul>
<h2>Consultants</h2>
<ul>
<li>Consulting help is available in Upson 309.</li>
</ul>
<h2>Course Administrator</h2>
<ul>
<li>Laurie J. Buck, Upson 303, 255-3534, office hours: Mon-Fri, 1:30 - 4:00 pm</li>
</ul>
<hr>
<h1>What &amp; When</h1>
<h2>Lectures</h2>
<ul>
<li><dl compact>
<dt>Tue/Thu 1:25-2:40pm Kimball B11 </dt>
</dl>
</li>
</ul>
<h2>Sections</h2>
<ul>
<li><dl compact>
<dt>Mon 7:30-8:20 pm, Hollister 372</dt>
<dt>Tue 3:35-4:25 pm, Comstock B108</dt>
<dt>Wed 7:30-8:20 pm, Hollister 372</dt>
</dl>
</li>
</ul>
<p><b>Attending sections is required! New material will be presented that you will need to know in order to complete 
the homeworks and the projects. </b></p>
<p>Attend one section each week. Sections will begin the second week of classes. You may attend any of the sections, 
regardless of your registration. However, it would be helpful if you attended the same section each week. </p>
<h2>Tutoring</h2>
<p>The course TAs will be available during regular office hours for extended consulting help. Schedule an appointment by 
sending email to the TA <i>at least 24 hours in advance</i>. If you do not schedule an appointment, you may find the TA busy 
and, thus, unable to spend time with you. </p>
<h2>Consulting</h2>
<p>Consulting help is available in Upson 309. The hours have not yet been finalized. </p>
<p>Consultants will grade your homeworks as well as answer questions about the computer system, programs, homework 
assignments, and other things related to the content of the course. To help ensure that consulting time is used to best 
advantage, we ask you to observe a few ground rules: </p>
<ul>
<li>When your program doesn't work, try to decipher the error message, find the location of the error in your listing, and 
look at the relevant registers and memory <i>before seeing a consultant</i>.<br>
</li>
<li>Have a <i>current</i> listing of your program <i>written in good style</i> to show to the consultant. Consultants will not spend 
time attempting to trace uncommented code. <br>
</li>
<li>Plan to spend no more than 10 to 15 minutes of the consultant's time. If you need more time, then set up an 
appointment with the TA. <br>
</li>
</ul>
<h2>Texts and References</h2>
<p>Most of the information relevant to the course will be handed out in the form of lecture notes. You are required to buy one 
textbook, which is actually a manual for the PowerPC 601 and is rather cheap. We recommend the Patterson &amp; Hennessy 
textbook because it is very good and you will refer to it many years hence to remind you of how processors, memories, 
caches, disks, etc. work. However, that book uses a different processor and there isn't a 1-1 correspondence between 
lectures and sections of the book. For this reason it is not required. Some people like to sit down a read a book in order to 
learn, or in order to find out more, and the book works well for that. Others like to review the lectures using a textbook, 
and this book doesn't work for that. It's your call.</p>
<h3>Required</h3>
<ol>
<li>CS 314 lecture notes. <i>Available on-line through the course home page. <br>
</i></li>
<li>Motorola/IBM, <i>PowerPC 601 RISC Microprocessor User's Manual</i>, Motorola catalog #MPC601UM/AD or 
IBM catalog #MPR601UMU-02).<i>Available in the bookstore, should be cheap. <br>
</i></li>
</ol>
<h3>Optional</h3>
<ol>
<li>Patterson and Hennessy, <i>Computer Organization and Design</i>, Morgan Kaufmann, 1994.<i> Available in the 
bookstore, expensive but very good. <br>
</i></li>
<li>Bartee, <i>Computer Architecture and Logic Design</i>, McGraw-Hill Book Company, 1991.<i>Useful if your have 
difficulties with boolean algebra. <br>
</i></li>
<li>IBM, <i>The PowerPC Architecture</i>, Edited by C. May, E. Silha, R. Simpson, and H. Warren. Morgan Kaufmann, 
1994.<i> Expensive, luxurious, not clearly better than the cheap PPC601 user's manual, but a little more 
general. <br>
</i></li>
<li>MetroWerks CodeWarrior, academic edition.<i>C/assembler development environment. Available for $100 at the 
bookstore in case you have a PPC and want to work at home. <br>
</i></li>
</ol>
<hr>
<h1><i>Lecture notes, Homeworks, Projects, Exams, and Grades</i></h1>
<p>You will have weekly homework assignments and five two-week projects. <b>Strong emphasis will be placed on timely 
completion of the homeworks and projects!</b> We will use a merit/demerit system (see below) to encourage this. If you 
cannot meet the due date of an assignment because of serious illness or other extraordinary circumstances use the 
merit/demerit system to catch up. If you really, really need an exception, contact Brian before the assignment deadline for an 
extraordinary extension. </p>
<h2>Primary source</h2>
<p>The primary source for lecture notes, informational handouts, and assignments will be on-line on the web (URL: 
<a href="http://www.cs.cornell.edu/Info/Courses/Current/CS314">http://www.cs.cornell.edu/Info/Courses/Current/CS314</a>). We will update the on-line versions if errors are discovered or 
assignments need clarification. The on-line system will permit you to make annotations to lectures and assignments allowing 
you to ask questions and see responses. In order to be able to reach the on-line course materials you need to sign up with 
the Web page annotation system called CoNote. Signing up with CoNote is what homework 1 is all about: you should go 
back to the course home page and click on the &quot;course materials&quot; link. You will be asked an id and password, just click 
cancel and then fill out the form that pops up. Then you get what looks like a nasty error message, but in fact it's a page that 
allows you to request student access level (talk about friendly user interface...). Simply click on the &quot;Request Student 
Access Level&quot; button and you're almost done. Almost, because you now get to enter the id you just chose with the 
password. After all this you should get a message that indicates that you now have permission to author annotations. (Hint: 
click on File&gt;NewWebBrowser in Netscape now to get a new window to follow these instructions, this way you don't 
loose the instructions from sight.) </p>
<p><b>You are responsible for checking the on-line version for changes up to 24 hours before you hand-in an 
assignment! If we make a change and you didn't take it into account because you didn't check, it will be your 
problem. </b></p>
<p>You are not responsible for changes to an assignment after you have handed it in (e.g., should you hand in something early). </p>
<h2>Prerequisites</h2>
<p>CS211 or equivalent. Students are expected to have programming experience using C. If you know another programming 
language (e.g., PASCAL) you are expected to acquire C expertise on your own. We will assume familiarity with recursion, 
arrays, records, pointers, linked data structures, and stepwise refinement. </p>
<h2>Homeworks</h2>
<p>Homeworks will be handed out thursdays and be <b>due at 9pm</b> the following thursday. They will be relatively simple and 
allow you to check whether you understood the material presented in lecture and section. </p>
<p><b>T</b>he homeworks will be graded on the spot by the course consultants. <b>You will not be allowed to drop homeworks off: 
you have to have them graded on the spot!</b> The crunch tends to come around Thursday, 9pm, so if you want to avoid 
waiting, you should turn your homework in early and get extra merits. Also, be sure not to miss the consulting hours! </p>
<p>Answer sheets for all homework assignments will be distributed one week after the assignment is due. These should be 
studied and understood. Homework questions have been known to reappear on examinations. </p>
<h2>Projects</h2>
<p>Projects will be handed out tuesdays and be due two tuesdays later. The second an third projects will be centered around a 
subset of the PowerPC assembly language called PPC314. </p>
<ul>
<li>in the first project you will write a small assembler program. <br>
</li>
<li>in the second project you will write a PPPC314 machine language simulator in C. <br>
</li>
<li>in the third project you will build a PPC314 CPU in three phases: <br>
<ul>
<li>phase1: datapath logic</li>
<li>phase 2: datapath implementation, control logic</li>
<li>final: all implemented and working</li>
</ul>
</li>
</ul>
<p>You will work in groups of two on all the projects (no exceptions, unless there is an odd number of students). When 
working in a group, submit for grading a <i>single</i> printout that includes the names of <i>both</i> students in the group. The same 
grade will be given to both students. Both students are expected to be equally able to answer questions about the program 
or project. </p>
<p>The projects will be graded on the spot by having you demonstrate them to a TA or course consultant. Sign up sheets for 
these demos will be available later. </p>
<h2>Exams</h2>
<p>There will be two prelims, one on <b>10/17 </b>at 7:30pm, and one either <strong>11/21</strong> or 11/14 (not determined yet) at 7:30pm. There is 
no final exam. </p>
<h3>Grade computation</h3>
<p>Your course grade will be computed as follows: </p>
<ul>
<li><dl compact>
<dt>10% - first prelim, (curve) </dt>
<dt>10% - second prelim, (curve) </dt>
<dt>10% - homeworks, (absolute) </dt>
<dt>10% - 1st project (asm programming), (absolute) </dt>
<dt>20% - 2nd project (simulator), (absolute) </dt>
<dt>30% - 3nd project (hw, design, 3 parts), (absolute) </dt>
<dt>10% - merits/demerits </dt>
</dl>
</li>
</ul>
<h3>Merits/demerits</h3>
<p>We designed the merit/demerit system to allow you some flexibility in turning in your assignments. Here's how it works: </p>
<ul>
<li>Homeworks or projects will be accepted up to 3 calendar days late (e.g., 'til sunday for homeworks), but each day 
will result in one &quot;demerit&quot;. <br>
</li>
<li>Homeworks or projects will also be accepted up to 3 calendar days early (e.g., starting monday for homeworks), 
and each day will work off one demerit (or give you credit for the future). <br>
</li>
<li>Each demerit left at the end of the course will cost you 0.5% of your grade (almost 1/2 a homework). If, at any time 
you reach 20 demerits (there goes 10% of your grade!), you will receive a harsh ultimatum... <br>
</li>
<li>By being on-time on average, you earn 10% of your grade! Extra merits will only affect your grade if you are on the 
boundary between two grades (no guarantees, though). <br>
</li>
<li>Merits and demerits are personal: a group project that is late costs each member. <br>
</li>
</ul>
<h2>Grading and Regrades</h2>
<p>Grades will be posted (indexed by a secret ID number you provide) on the Web. If you believe that we have made a 
grading error, please first discuss the matter with one of the course consultants or teaching assistants. If, after such a 
discussion, it appears that a mistake has really been made, bring the error to our attention, but no later than <i>one week</i> after 
your assignment has been returned. To submit a problem set, program, or exam for regrading, obtain a regrade request form 
from one of the consultants or from outside Upson 303. Fill out the request form, and leave the request along with the 
assignment in question in Upson 303. A regrade request can cause your grade to go up <i>or down</i>. Regraded assignments 
will be returned by the course consultants. </p>
<h2>Academic Integrity</h2>
<p>The work you submit in CS 314 is expected to be the result of your <b><i>individual effort</i></b>. You are free to discuss course 
material, approaches to problems, and details of the system with your colleagues, instructors, and Computer Services 
consultants, but you should never misrepresent someone else's work as your own. Permissible cooperation should never 
involve a student possessing a copy of all or part of another student's program or other work regardless of whether that 
copy is on paper or in a computer file on a hard disk or a floppy disk. The only exception to these rules is when two 
students work together to submit a joint project. </p>
<p>It is also the student's responsibility to protect his/her work from unauthorized access. For example, do not discard copies 
of your programs in public places. </p>
<p>Violation of the Academic Integrity Code very often results in <i>failure in the course</i> and permanent notations on your 
Cornell academic records. If you have any question as to what constitutes ethical behavior, ask the instructor first we will 
not be sympathetic to claims of ignorance or misunderstanding of the rules. </p>
</body>

</html>
